home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
Games
/
NeXTmj
/
Source
/
IntegerList.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-03-22
|
2KB
|
66 lines
/*
* This object provides a list that holds integers.
* This object uses an Objective-C List object to hold values. There
* is a problem, however, with the integer value 0.
* In the Objective-C List a 0 is nil. Therefore 0 cannot be
* added to the list. To compensate for this, and utilizing the fact
* that this object is used to hold tile indexes, an offset is added to
* values stored on the list and subtraced when removed.
*
$Author$
$Header$
*
$Log$
*/
extern "Objective-C" {
#import <objc/List.h>
}
class IntegerList {
private:
// This is the Objective-C object used
// to hold a list of integers.
List *my_list;
// Used when iterating through the
// list.
int iterator;
// We can't blindly store integers
// on the list. They must be encoded.
// This is because 0 is a legal value
// but the list object considers it nil
// and won't place it on the list.
int encodeValue( int ),
decodeValue( int );
public:
IntegerList( void );
~IntegerList( void );
// This operator indexes through the list
// starting at 0 and returning -1 when
// the end of the list is reached.
// You can't perform operations on the
// list as your scanning through it.
int operator()();
// Prepare for list iteration.
void beginIterate();
// Add a integer to the list.
void operator+=( int );
// Remove a integer from this list.
void operator-=( int );
// Empty the list of all values.
void empty( void );
// Return the number of items on
// the list.
int count( void );
// Return the value of the last integer
// on the list.
int lastValue( void );
};